function x_new = rk4_inductive(x0, dt, b, r, c, n, lambda_L, I_Chaos, u_PC)
    % rk4_inductive - 使用四阶 Runge-Kutta 方法进行单步更新 (感应耦合模型)
    %
    % 输入:
    %   y0       - 初始状态向量 [x1; y1; x2; y2; z] (列向量)
    %   dt       - 步长
    %   b, r, c  - 无量纲参数（例如 b = E_j/V0, r = R_j/a, c = a^2 C_j/L_j）
    %   n        - 与压电传感器相关的参数
    %   lambda_L - 感应耦合强度 (例如 lambda_L = 10)
    %   I_Chaos  - 混沌电流 (无量纲)
    %   u_PC     - 外部声信号 (压电电压)
    %
    % 输出:
    %   x_new    - 单步更新后的状态向量 [x1; y1; x2; y2; z]
    
    x0 = x0(:); % 强制转换为列向量

    k1 = dt * inductive(x0, b, r, c, n, lambda_L, I_Chaos, u_PC);
    k2 = dt * inductive(x0 + 0.5 * k1, b, r, c, n, lambda_L, I_Chaos, u_PC);
    k3 = dt * inductive(x0 + 0.5 * k2, b, r, c, n, lambda_L, I_Chaos, u_PC);
    k4 = dt * inductive(x0 + k3, b, r, c, n, lambda_L, I_Chaos, u_PC);

    % 更新状态：使用 RK4 公式
    x_new = x0 + (k1 + 2*k2 + 2*k3 + k4) / 6;
end

function dXdt = inductive(X, b, r, c, n, lambda_L, I_Chaos, u_PC)
    % inductive_model - 计算感应耦合模型的状态导数
    %
    % 输入:
    %   X        - 状态向量 [x1; y1; x2; y2; z]
    %   b, r, c  - 无量纲参数
    %   n        - 与压电传感器相关的参数
    %   lambda_L - 感应耦合强度
    %   I_Chaos  - 混沌电流
    %   u_PC     - 外部声信号 (压电电压)
    %
    % 输出:
    %   dXdt     - 状态导数 [dx1; dy1; dx2; dy2; dz]
    
    % 解构状态变量
    x1 = X(1);
    y1 = X(2);
    x2 = X(3);
    y2 = X(4);
    z  = X(5);

    % 根据论文方程（6）计算各变量的导数：
    dx1 = x1 - (1/3)*x1^3 - y1 + I_Chaos + z;
    dy1 = c * (x1 + b - r*y1);
    dx2 = x2*(1 - n) - (1/3)*x2^3 - y2 + n*u_PC - z;
    dy2 = c * (x2 + b - r*y2);
    dz   = lambda_L * (x2 - x1);
    
    dXdt = [dx1; dy1; dx2; dy2; dz];
end
